# 1.递归函数
# 递归函数：函数内部调用自身
# 两个基本条件：递归公式，边界条件
# 执行两阶段：递推，回溯
# 语法格式：
# def 函数名 ([参数列表]):
#   if 边界条件:
#       return 结果
#   else:
#       return 递推公式
# 求n的阶乘
def fn(n):
    if n == 1:
        return 1
    else:
        return n * fn(n - 1)


print(fn(3))

# 2.匿名函数
# 使用lambda关键字定义匿名函数
# 区别：匿名函数没有名称，函数体只能是一个表达式，不能被其他程序使用
# 语法：lambda <形式参数列表> : <表达式>
temp = lambda x: pow(x, 3)
print(temp(2))
